#ifndef UPDATE_H_
#define UPDATE_H_

#include "./Command.h"
#include "../GameLogic/Objects/GameObject.h"
#include "../GameLogic/Simulation.h"

#include "../Core/PvN.h"

namespace Commands {

/*
 * Aktualizuje dane obiektu.
 */
class Update : public Command {
	GameLogic::Objects::GameObject::IdType object_id_;
	Data* data_;
public:

	/**
	 * Tworzy zdarzenie aktualizujace dane obiektu.
	 */
	Update(
			GameLogic::Objects::GameObject::IdType object_id,
			Data* data
	);

	void execute( GameLogic::Simulation* s );

	void serialize( std::ostringstream& s );

};

} //namespace Commands

#endif /* UPDATE_H_ */
